SlideShare una empresa de Scribd logo
1 de 50
INTRODUCCIÓN A LA PROGRAMACIÓN
Sobre este material:  Este material fue desarrollado por  la estudiante Yelixa Araque del Programa Nacional  de Formación  de Sistemas e Informáticas  de la Misión Sucre, el contenido del mismo  es una introducción  a la programación que oriente al estudiante en el inicio de la programación.  Atentamente, TSU. Informática . Yelixa del C. Araque Angulo Ingeniería de Sistemas
¿Bienvenidos? 1 era Parte
Historia de la Programación Sobre los últimos 50 años, los idiomas que programan han evolucionado del código binario de máquina a herramientas poderosas que crean las abstracciones complejas. "Tan largo como no había máquinas, programar era ningún problema; cuando tuvimos unos pocas computadoras débiles, programar llegó a ser un problema templado y ahora que tenemos las computadoras gigantescas, programar ha llegado a ser un problema igualmente gigantesco. En este sentido que la industria electrónica no ha resuelto un solo problema, tiene sólo los creó - ha creado el problema de usar su producto".
La llave de la programación La abstracción En sistemas sencillos, la característica de idiomas usados en el 1950s y '60s, un solo programista podría entender el problema entero, y por lo tanto manipulaba  todas las estructuras del programa y datos. La abstracción es la llave de la construcción de sistemas complejos de software. Como el tamaño de nuestros problemas crece, la necesidad para la abstracción dramáticamente aumenta. Los programistas son hoy incapaces de entender todos los programas y los datos, entonces  a través de  la abstracción  permite al programista seleccionar los conceptos necesarios.
¿Qué es un Lenguaje de Programación? Lenguaje de programación, en informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora.
Tipos de Lenguajes de programación Lenguaje de Bajo Nivel Lenguaje Ensamblador Programación estructurada Lenguaje de Alto Nivel Programación Orientada a objeto
Lenguaje de Bajo Nivel ,[object Object]
  Están  orientado a la máquina.
  Era necesario conocer las arquitecturas particulares de los sistemas computacionales para programar en ellos.
  Solo podían se utilizados por hombres de ciencias.,[object Object]
  Precisa un amplio conocimiento  sobre la constitución., estructura  y funcionamiento interno de un ordenador .
 Un hábil manejo de los códigos y sistemas de numeración  en especial el binario y el hexadecimal. ,[object Object]
 Son independientes de la arquitectura   del ordenador utilizado como soporte .
Los programas desarrollados en este lenguaje pueden ser ejecutados  sobre  ordenadores  con distintos microprocesadores.
   facilidad en el desarrollo , depuración y mantenimiento de los programas .,[object Object]
Programación Estructurada Programación estructurada, en informática, término general que se refiere a un tipo de programación que produce código con un flujo limpio, un diseño claro y un cierto grado de modularidad o de estructura jerárquica. Entre los beneficios de la programación estructurada se encuentran la facilidad de mantenimiento y la legibilidad por parte de otros programadores. La programación estructurada se refiere tanto a la estrategia del programador, como al lenguaje utilizado. Así, para ella se usan lenguajes de programación que faciliten el diseño de aplicaciones con llamadas a procedimientos o funciones, como lo son típicamente Pascal y Ada, entre otros. En ellos el flujo de información es más fácilmente legible y no requieren de bifurcaciones basadas en llamadas a líneas concretas (uso de etiquetas al estilo BASIC), sino, más bien, en saltos a áreas de código perfectamente diferenciadas. La programación bien estructurada permite, de forma adicional, la reusabilidad del código, extrayendo módulos que pueden ser utilizados en otros programas, sin cambios en el código o con un mínimo de readaptaciones.
Ventajas de la Programación Estructurada 3. Reducción del esfuerzo  en las pruebas 7. Mejor estructura y presentación 1. Fácil de entender 4. Reducción de costos mantenimiento 5. Programas sencillos y rápidos 2. La estructura del programa es clara 6. Los bloques del código son auto explicativo
Ensambladores, Compiladores e Intérpretes Ensambladores : son los encargados de transformar o traducir directamente  los programas escritos en el ensamblador  a su equivalente  en código máquina o código binario para que puedan ser ejecutados por  el CPU.  Proceso de conversión del código ensamblador a código máquina Ensamblador Traductor Utilizado Equivalente en código binario Programa desarrollado  en lenguaje ensamblador
Intérpretes: es un programa  de software encargado de procesar y traducir  cada instrucción o sentencia de un programa escrito en un lenguaje de alto nivel a código máquina y después ejecutarla. La traducción o interpretación y la ejecución no se realizan como procesos independientes, sino en una misma operación e instrucción por instrucción, respetando el orden establecido entre ellas. Conversión de un programa interpretado a su equivalente en código máquina Edición Instrucción  1 Ejecución Inst. 1 Traductor Utilizado Intérprete Instrucción  2 Ejecución Inst. 2 Intérprete Instrucción  N Ejecución Inst. 3 Intérprete
Compiladores:  es un programa de software escrito en algún lenguaje de programación cuyo objetivo es traducir el correspondiente programa fuente(fichero constituido  por un conjunto de instrucciones desarrolladas  en un lenguaje de alto nivel) a su equivalente en código máquina, también denominado programa objeto. Un intérprete acepta un programa fuente que traduce y ejecuta simultáneamente  analizando cada sentencia o instrucción por separado . Diferencia entre un compilador  e intérprete Un compilador efectúa dicha operación en dos fases independientes, primero traduce completamente el programa fuente a código máquina y seguidamente ejecuta el programa
Etapas del proceso de compilación Ejecución Compilación Linkado Edición
Edición: Consiste en la escritura  del programa (empleando un lenguaje de programación previamente seleccionado) y su posterior grabación sobre un soporte de almacenamiento permanente. La edición del programa  debe realizarse mediante la utilización de un editor, que puede formar parte o no del compilador utilizado. En esta fase se obtiene el denominado programa fuente.  Compilación: Se traduce el programa fuente a su equivalente en código máquina, obteniendo en caso de no producirse un error el denominado programa objeto. En caso de producirse errores, el compilador lo mostrará utilizando los mensajes correspondientes, que nos permitirá corregir el programa fuente y proceder de nuevo a su compilación. Linkado: Recibe el nombre también de montaje y consiste en unir o enlazar el programa objeto  obteniendo en la fase de compilación con determinadas rutinas internas del lenguaje . Ejecución: Consiste en la llamada del programa ejecutable a través del sistema operativo. Inicialmente se debe  comprobar el buen funcionamiento del programa mediante el uso de unos juegos de pruebas que especifican los resultados que se desean obtener en función de unos determinados datos de entrada.
¿Bienvenidos? 2 da Parte  Estructuras básicas de datos
¿Qué es un Dato? Un dato es toda aquella característica  de una entidad siendo susceptible de tratamiento en un programa informático.  Ejemplo:  Nombre y dirección Datos de una empresa
Características de los datos Identificador Nombre para referenciar el dato  Rango de valores que puede tomar el dato en función de una determinada clasificación. Tipo Elemento determinado que debe pertenecer al rango de valores según el tipo definido. Valor
Clasificación de Datos Dato Derivados Dato estructurados Dato Básicos Numéricos Carácter Lógico Puntero Internos Externos Estáticos  Dinámicos Fichero Base Dato Entero Real No Lineales Lineales Lineales Tabla Lista Pila Cola Árbol Grafo
Constantes y Variables  Variables Son datos cuya información es fija durante la ejecución del programa. Constante  Son datos cuya información puede ser variable durante la ejecución del programa. Estos datos deben ser definidos con un identificador y un tipo de dato.
Operadores () Paréntesis Paréntesis Producto , potencia, División División entera Módulo Signo positivo o suma Signo negativo o resta Aritméticos Alfanuméricos Concatenación Concatenación eliminando espacios
Igual a Distinto a Menor que Menor o igual que Mayor que  Mayor o igual que Relacionales Lógicos Negación Conjunción Disyunción
¿Bienvenidos? 3 Parte Programación Estructurada
¿Qué es  un Programa? Un programa es un conjunto de pasos estructurados de formas lógicas traducidos en códigos que obedecen a los distintos lenguajes de programación, que nos permiten indicarle a un sistema computacional  la forma de realizar una tarea.
Partes de un Programa  Las ordenes o instrucciones de un programa se pueden dividir en tres grandes bloques diferentes, correspondiente cada uno de ellos a una parte del diseño de un programa:  Proceso Salida  de resultados Entrada de datos
En este bloque se engloban todas aquellas instrucciones que toman datos de un dispositivo o periférico externo, depositándolo  posteriormente en memoria central o principal para poder ser procesados Entrada datos Engloba todas aquellas instrucciones encargadas  de procesar la información o aquellos datos pendientes de elaborar y que previamente habían sido depositados en memoria principal para su posterior tratamiento. Proceso Este bloque esta formado por todas aquellas instrucciones que toman los resultados depositados en memoria principal una vez procesados los datos de entrada enviándolos seguidamente a un dispositivo o periférico externo. Salida de datos o resultados
Ejemplo : Realizar un análisis de E-P-S para calcular el promedio de 3 notas parciales de un alumno Entrada: Proceso: Salida:
¿Qué es  un  Algoritmo? Algoritmos  Es la descripción abstracta de todas las acciones u operaciones que debe realizar un ordenador de forma clara y detallada , así como el orden en el que éstas deberán ejecutarse junto con la descripción de todos aquellos datos  que deberán ser manipulados por dichas acciones y que nos conducen a la solución de problema facilitando así su posterior traducción al lenguaje de programación correspondiente.
Es importante tener en cuenta que todo algoritmo debe ser totalmente independiente del lenguaje de programación que será utilizado , es decir, el algoritmo diseñado deberá permitir  su traducción a cualquier lenguaje de programación con independencia  del ordenador en le que se vaya a ejecutar  dicho programa . Posibilidad de traducirlo a distintos lenguajes de programación Algoritmo Pascal Pentium III AMD Dual core C++ PHP Un solo diseño Posibilidad de utilizar distintas máquinas
Características de un algoritmo: ,[object Object]
 Nunca debe  ser rígido en su diseño, debiendo mantener esta cualidad o característica de flexibilidad en sus representaciones gráficas .
 Se caracteriza por tener un comienzo y un final. Por ello se puede decir que es finito o limitado
 Al aplicar el mismo algoritmo  “n” veces con los mismos datos de entrada, se debe obtener siempre los mismos resultados o datos de salida . Por eso se dice que es exacto y preciso.
 Debe ser lo más claro y sencillo posible para facilitar su entendimiento y comprensión por parte del personal informático,[object Object]
Ejemplo 2  :
Medios de expresión de un algoritmo Lenguaje Natural Tienden a ser ambiguas y extensas Pseudocódigo Algoritmo Evita muchas ambigüedades del lenguaje natural Expresar Diagramas de Flujo Evita muchas ambigüedades del lenguaje natural Lenguaje programación
Niveles de descripción de un algoritmo Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.  Descripción  de alto nivel Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. Descripción  formal Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones Implementación
Corresponde Fases análisis Organigramas Los diagramas de flujo se pueden clasificar  en dos grandes grupos: Corresponde Fases diseño Ordinogramas
¿ Qué es  un Diagrama de flujo? Es la representación gráfica que mediante el uso de símbolos estándar  conectados o unidos mediante líneas de flujo, muestran las secuencia lógica de las operaciones o acciones que debe realizar un ordenador, así como la corriente o flujo de datos en la resolución de un programa. Los diseños deben ser normalizados para facilitar el intercambio de documentación entre el personal informático(analistas y programadores).
Organigramas Debe reflejar ,[object Object]
 Las entradas y salidas de cada área indicando los soportes que serán utilizados para el almacenamiento tantos de los datos pendientes de elaborar o procesar como de los resultados obtenidos.
El flujo de los datos  Se denominan también  diagramas de flujo de sistemas o diagramas de flujo de configuración. Son representaciones gráficas del flujo de datos e información entre los periféricos o soportes físicos(de entrada/salida) que maneja un programa

Más contenido relacionado

La actualidad más candente (9)

Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion c
 
Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)Lenguajes de desarrollo (programación)
Lenguajes de desarrollo (programación)
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.pptLenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.ppt
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Programcion
ProgramcionProgramcion
Programcion
 

Similar a Introduccion a la programación I Parte

CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
adark
 
Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióN
Alfonso
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
joel210696
 

Similar a Introduccion a la programación I Parte (20)

CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Introduccion programacion
Introduccion programacionIntroduccion programacion
Introduccion programacion
 
Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióN
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
 
Software
SoftwareSoftware
Software
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Programación
ProgramaciónProgramación
Programación
 
Programación
ProgramaciónProgramación
Programación
 
Evoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnEvoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýn
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMAS
 
Maryan toledo
Maryan toledoMaryan toledo
Maryan toledo
 
Software pao
Software paoSoftware pao
Software pao
 
Programacion
ProgramacionProgramacion
Programacion
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 

Más de Yelixa Araque Angulo (7)

Operadores expresiones
Operadores expresionesOperadores expresiones
Operadores expresiones
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Estructuras estáticas de datos
Estructuras estáticas de datosEstructuras estáticas de datos
Estructuras estáticas de datos
 
Estructuras estáticas de datos
Estructuras estáticas de datosEstructuras estáticas de datos
Estructuras estáticas de datos
 
Metodologia Programación
Metodologia ProgramaciónMetodologia Programación
Metodologia Programación
 
Introduccion a la programación Parte II
Introduccion a la programación Parte IIIntroduccion a la programación Parte II
Introduccion a la programación Parte II
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte
 

Último

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 

Introduccion a la programación I Parte

  • 1. INTRODUCCIÓN A LA PROGRAMACIÓN
  • 2. Sobre este material: Este material fue desarrollado por la estudiante Yelixa Araque del Programa Nacional de Formación de Sistemas e Informáticas de la Misión Sucre, el contenido del mismo es una introducción a la programación que oriente al estudiante en el inicio de la programación. Atentamente, TSU. Informática . Yelixa del C. Araque Angulo Ingeniería de Sistemas
  • 4. Historia de la Programación Sobre los últimos 50 años, los idiomas que programan han evolucionado del código binario de máquina a herramientas poderosas que crean las abstracciones complejas. "Tan largo como no había máquinas, programar era ningún problema; cuando tuvimos unos pocas computadoras débiles, programar llegó a ser un problema templado y ahora que tenemos las computadoras gigantescas, programar ha llegado a ser un problema igualmente gigantesco. En este sentido que la industria electrónica no ha resuelto un solo problema, tiene sólo los creó - ha creado el problema de usar su producto".
  • 5. La llave de la programación La abstracción En sistemas sencillos, la característica de idiomas usados en el 1950s y '60s, un solo programista podría entender el problema entero, y por lo tanto manipulaba todas las estructuras del programa y datos. La abstracción es la llave de la construcción de sistemas complejos de software. Como el tamaño de nuestros problemas crece, la necesidad para la abstracción dramáticamente aumenta. Los programistas son hoy incapaces de entender todos los programas y los datos, entonces a través de la abstracción permite al programista seleccionar los conceptos necesarios.
  • 6. ¿Qué es un Lenguaje de Programación? Lenguaje de programación, en informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora.
  • 7. Tipos de Lenguajes de programación Lenguaje de Bajo Nivel Lenguaje Ensamblador Programación estructurada Lenguaje de Alto Nivel Programación Orientada a objeto
  • 8.
  • 9. Están orientado a la máquina.
  • 10. Era necesario conocer las arquitecturas particulares de los sistemas computacionales para programar en ellos.
  • 11.
  • 12. Precisa un amplio conocimiento sobre la constitución., estructura y funcionamiento interno de un ordenador .
  • 13.
  • 14. Son independientes de la arquitectura del ordenador utilizado como soporte .
  • 15. Los programas desarrollados en este lenguaje pueden ser ejecutados sobre ordenadores con distintos microprocesadores.
  • 16.
  • 17. Programación Estructurada Programación estructurada, en informática, término general que se refiere a un tipo de programación que produce código con un flujo limpio, un diseño claro y un cierto grado de modularidad o de estructura jerárquica. Entre los beneficios de la programación estructurada se encuentran la facilidad de mantenimiento y la legibilidad por parte de otros programadores. La programación estructurada se refiere tanto a la estrategia del programador, como al lenguaje utilizado. Así, para ella se usan lenguajes de programación que faciliten el diseño de aplicaciones con llamadas a procedimientos o funciones, como lo son típicamente Pascal y Ada, entre otros. En ellos el flujo de información es más fácilmente legible y no requieren de bifurcaciones basadas en llamadas a líneas concretas (uso de etiquetas al estilo BASIC), sino, más bien, en saltos a áreas de código perfectamente diferenciadas. La programación bien estructurada permite, de forma adicional, la reusabilidad del código, extrayendo módulos que pueden ser utilizados en otros programas, sin cambios en el código o con un mínimo de readaptaciones.
  • 18. Ventajas de la Programación Estructurada 3. Reducción del esfuerzo en las pruebas 7. Mejor estructura y presentación 1. Fácil de entender 4. Reducción de costos mantenimiento 5. Programas sencillos y rápidos 2. La estructura del programa es clara 6. Los bloques del código son auto explicativo
  • 19. Ensambladores, Compiladores e Intérpretes Ensambladores : son los encargados de transformar o traducir directamente los programas escritos en el ensamblador a su equivalente en código máquina o código binario para que puedan ser ejecutados por el CPU. Proceso de conversión del código ensamblador a código máquina Ensamblador Traductor Utilizado Equivalente en código binario Programa desarrollado en lenguaje ensamblador
  • 20. Intérpretes: es un programa de software encargado de procesar y traducir cada instrucción o sentencia de un programa escrito en un lenguaje de alto nivel a código máquina y después ejecutarla. La traducción o interpretación y la ejecución no se realizan como procesos independientes, sino en una misma operación e instrucción por instrucción, respetando el orden establecido entre ellas. Conversión de un programa interpretado a su equivalente en código máquina Edición Instrucción 1 Ejecución Inst. 1 Traductor Utilizado Intérprete Instrucción 2 Ejecución Inst. 2 Intérprete Instrucción N Ejecución Inst. 3 Intérprete
  • 21. Compiladores: es un programa de software escrito en algún lenguaje de programación cuyo objetivo es traducir el correspondiente programa fuente(fichero constituido por un conjunto de instrucciones desarrolladas en un lenguaje de alto nivel) a su equivalente en código máquina, también denominado programa objeto. Un intérprete acepta un programa fuente que traduce y ejecuta simultáneamente analizando cada sentencia o instrucción por separado . Diferencia entre un compilador e intérprete Un compilador efectúa dicha operación en dos fases independientes, primero traduce completamente el programa fuente a código máquina y seguidamente ejecuta el programa
  • 22. Etapas del proceso de compilación Ejecución Compilación Linkado Edición
  • 23. Edición: Consiste en la escritura del programa (empleando un lenguaje de programación previamente seleccionado) y su posterior grabación sobre un soporte de almacenamiento permanente. La edición del programa debe realizarse mediante la utilización de un editor, que puede formar parte o no del compilador utilizado. En esta fase se obtiene el denominado programa fuente. Compilación: Se traduce el programa fuente a su equivalente en código máquina, obteniendo en caso de no producirse un error el denominado programa objeto. En caso de producirse errores, el compilador lo mostrará utilizando los mensajes correspondientes, que nos permitirá corregir el programa fuente y proceder de nuevo a su compilación. Linkado: Recibe el nombre también de montaje y consiste en unir o enlazar el programa objeto obteniendo en la fase de compilación con determinadas rutinas internas del lenguaje . Ejecución: Consiste en la llamada del programa ejecutable a través del sistema operativo. Inicialmente se debe comprobar el buen funcionamiento del programa mediante el uso de unos juegos de pruebas que especifican los resultados que se desean obtener en función de unos determinados datos de entrada.
  • 24. ¿Bienvenidos? 2 da Parte Estructuras básicas de datos
  • 25. ¿Qué es un Dato? Un dato es toda aquella característica de una entidad siendo susceptible de tratamiento en un programa informático. Ejemplo: Nombre y dirección Datos de una empresa
  • 26. Características de los datos Identificador Nombre para referenciar el dato Rango de valores que puede tomar el dato en función de una determinada clasificación. Tipo Elemento determinado que debe pertenecer al rango de valores según el tipo definido. Valor
  • 27. Clasificación de Datos Dato Derivados Dato estructurados Dato Básicos Numéricos Carácter Lógico Puntero Internos Externos Estáticos Dinámicos Fichero Base Dato Entero Real No Lineales Lineales Lineales Tabla Lista Pila Cola Árbol Grafo
  • 28. Constantes y Variables Variables Son datos cuya información es fija durante la ejecución del programa. Constante Son datos cuya información puede ser variable durante la ejecución del programa. Estos datos deben ser definidos con un identificador y un tipo de dato.
  • 29. Operadores () Paréntesis Paréntesis Producto , potencia, División División entera Módulo Signo positivo o suma Signo negativo o resta Aritméticos Alfanuméricos Concatenación Concatenación eliminando espacios
  • 30. Igual a Distinto a Menor que Menor o igual que Mayor que Mayor o igual que Relacionales Lógicos Negación Conjunción Disyunción
  • 31. ¿Bienvenidos? 3 Parte Programación Estructurada
  • 32. ¿Qué es un Programa? Un programa es un conjunto de pasos estructurados de formas lógicas traducidos en códigos que obedecen a los distintos lenguajes de programación, que nos permiten indicarle a un sistema computacional la forma de realizar una tarea.
  • 33. Partes de un Programa Las ordenes o instrucciones de un programa se pueden dividir en tres grandes bloques diferentes, correspondiente cada uno de ellos a una parte del diseño de un programa: Proceso Salida de resultados Entrada de datos
  • 34. En este bloque se engloban todas aquellas instrucciones que toman datos de un dispositivo o periférico externo, depositándolo posteriormente en memoria central o principal para poder ser procesados Entrada datos Engloba todas aquellas instrucciones encargadas de procesar la información o aquellos datos pendientes de elaborar y que previamente habían sido depositados en memoria principal para su posterior tratamiento. Proceso Este bloque esta formado por todas aquellas instrucciones que toman los resultados depositados en memoria principal una vez procesados los datos de entrada enviándolos seguidamente a un dispositivo o periférico externo. Salida de datos o resultados
  • 35. Ejemplo : Realizar un análisis de E-P-S para calcular el promedio de 3 notas parciales de un alumno Entrada: Proceso: Salida:
  • 36. ¿Qué es un Algoritmo? Algoritmos Es la descripción abstracta de todas las acciones u operaciones que debe realizar un ordenador de forma clara y detallada , así como el orden en el que éstas deberán ejecutarse junto con la descripción de todos aquellos datos que deberán ser manipulados por dichas acciones y que nos conducen a la solución de problema facilitando así su posterior traducción al lenguaje de programación correspondiente.
  • 37. Es importante tener en cuenta que todo algoritmo debe ser totalmente independiente del lenguaje de programación que será utilizado , es decir, el algoritmo diseñado deberá permitir su traducción a cualquier lenguaje de programación con independencia del ordenador en le que se vaya a ejecutar dicho programa . Posibilidad de traducirlo a distintos lenguajes de programación Algoritmo Pascal Pentium III AMD Dual core C++ PHP Un solo diseño Posibilidad de utilizar distintas máquinas
  • 38.
  • 39. Nunca debe ser rígido en su diseño, debiendo mantener esta cualidad o característica de flexibilidad en sus representaciones gráficas .
  • 40. Se caracteriza por tener un comienzo y un final. Por ello se puede decir que es finito o limitado
  • 41. Al aplicar el mismo algoritmo “n” veces con los mismos datos de entrada, se debe obtener siempre los mismos resultados o datos de salida . Por eso se dice que es exacto y preciso.
  • 42.
  • 44. Medios de expresión de un algoritmo Lenguaje Natural Tienden a ser ambiguas y extensas Pseudocódigo Algoritmo Evita muchas ambigüedades del lenguaje natural Expresar Diagramas de Flujo Evita muchas ambigüedades del lenguaje natural Lenguaje programación
  • 45. Niveles de descripción de un algoritmo Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Descripción de alto nivel Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. Descripción formal Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones Implementación
  • 46. Corresponde Fases análisis Organigramas Los diagramas de flujo se pueden clasificar en dos grandes grupos: Corresponde Fases diseño Ordinogramas
  • 47. ¿ Qué es un Diagrama de flujo? Es la representación gráfica que mediante el uso de símbolos estándar conectados o unidos mediante líneas de flujo, muestran las secuencia lógica de las operaciones o acciones que debe realizar un ordenador, así como la corriente o flujo de datos en la resolución de un programa. Los diseños deben ser normalizados para facilitar el intercambio de documentación entre el personal informático(analistas y programadores).
  • 48.
  • 49. Las entradas y salidas de cada área indicando los soportes que serán utilizados para el almacenamiento tantos de los datos pendientes de elaborar o procesar como de los resultados obtenidos.
  • 50. El flujo de los datos Se denominan también diagramas de flujo de sistemas o diagramas de flujo de configuración. Son representaciones gráficas del flujo de datos e información entre los periféricos o soportes físicos(de entrada/salida) que maneja un programa
  • 51.
  • 52. En la parte superior del diseño y siempre por encima del símbolo de proceso deben figurar los soportes de entradas.
  • 53. En la parte inferior del diseño y siempre por debajo del símbolo de proceso deben figurar los soportes de salida.
  • 54.
  • 55. Simbología utilizada en la construcción de organigramas Símbolos de soporte de información o dispositivos físicos:
  • 56. b) Símbolos de soporte de información o dispositivos físicos: c) Líneas de flujo de datos:
  • 57.
  • 58. La secuencia de operaciones, lo más detallada posible y siguiendo siempre el orden en el que se deberán ejecutar(de arriba-abajo e izquierda-derecha)
  • 59. Un fin que marca la finalización de ejecución del programa y que viene determinado por la palabra FIN.Se denominan también diagramas de flujo de programas. Son representaciones gráficas que muestran la secuencia lógica y detallada de las operaciones que se van a realizar en la ejecución de un programa.
  • 60.
  • 61. Queda terminantemente prohibido el cruce de líneas de conexión, pues ello nos indican que el ordinograma no está correctamente diseñado.
  • 62. A un símbolo de decisión pueden llegarle varias líneas de conexión o flujo , pero de él sólo puede salir una.
  • 63. A un símbolo de decisión pueden llegarle varias líneas de conexión o flujo de datos, pero de él sólo puede salir una línea de entre las dos posibilidades existentes(verdadero o falso).
  • 64. A un símbolo de inicio de proceso no llega ninguna línea de conexión o flujo y de él sólo puede partir una línea de conexión.
  • 65.
  • 66. b) Símbolos de decisión:
  • 67. b) Símbolos de conexión: Nº Nº b) Símbolos de comentarios:
  • 68. Ejemplo 1. Diagrama de flujo : Diagrama de flujo que expresa un algoritmo para calcular la raíz cuadrada de un numero x